GNU lightning

GNU lightning
Developer(s) GNU Project
Initial release January 19, 2001 (2001-01-19)[1]
Stable release hosted in git repository
Operating system Cross-platform
Platform GNU
Type Just-in-time compilation
License GNU General Public License, GNU Lesser General Public License
Website http://www.gnu.org/software/lightning/

GNU lightning is a free software library that generates assembly language code at run-time. Supported backends are SPARC (32-bit), x86 (32- and 64-bit) and PowerPC (32-bit). An ARM port is under way[2].

Contents

Advantages Over Other Libraries

The features GNU lightning provides make it useful for just-in-time compiler applications. As opposed to libraries such as LLVM or libJIT, it only provides a low-level interface that assembles a standardized RISC architecture loosely based on the SPARC and MIPS[3] into the target architecture's machine language.

Disadvantages

It does not provide register allocation, data-flow, and control-flow analysis, or optimization.

Projects that use GNU Lightning

Racket, GNU Smalltalk, and CLISP[4] make use of GNU lightning for just-in-time compilation.

References

  1. ^ "ChangeLog". GNU Project. http://ftp.gnu.org/gnu/lightning/. Retrieved 2009-02-22. 
  2. ^ Message stating start of work of ARM port
  3. ^ "Using and porting GNU lightning". http://www.gnu.org/software/lightning/manual/lightning.html. Retrieved 2009-02-22. 
  4. ^ "Implementation notes for GNU CLISP". http://clisp.cons.org/impnotes.html. Retrieved 2009-02-23. 

External links